package com.qujia.station.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qujia.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * (Commodity)实体类
 *
 * @author makejava
 * @since 2023-08-15 14:11:12
 */
@TableName("commodity")
public class Commodity  implements Serializable {
    private static final long serialVersionUID = -60263548128238897L;
    /**
     * 商品id
     */
    @TableId
    @ApiModelProperty("商品id")
    private Long commodityId;
    /**
     * 商品名称
     */
    @ApiModelProperty("商品名称")
    private String commodityName;

    @ApiModelProperty("商品编码")
    private String commodityCode;
    /**
     * 分类id
     */
    @ApiModelProperty("分类id")
    private Long categoryId;

    @TableField(exist = false)
    private List<Long> categoryIds;
    /**
     * 分类名称
     */
    @ApiModelProperty("分类名称")
    private String categoryName;

    @ApiModelProperty("分类编码")
    @TableField(exist = false)
    private String categoryCode;

    /**
     * 零售价格 进货价格
     */
    @ApiModelProperty("零售价格/进货价格")
    private BigDecimal retailPrice;
    /**
     * 销售价格
     */
    @ApiModelProperty("销售价格")
    private BigDecimal salePrice;

    /**
     * 优惠价格
     * */
    @ApiModelProperty("优惠价格")
    private BigDecimal discountPrice;

    /**
     * 库存
     */
    @ApiModelProperty("库存")
    private Long inventory;
    /**
     * 上架数量
     */
    @ApiModelProperty("上架数量")
    private Integer putawayNum;
    /**
     * 删除标识 1为删除
     */
    @ApiModelProperty("删除标识 1为删除")
    private int delFlag;
    /**
     * 图片的url多个url逗号隔开
     */
    @ApiModelProperty("图片的url")
    private String image;
    /**
     * 所属油站
     */
    @ApiModelProperty("所属油站")
    @Excel(name = "入库油站id")
    private Long stationId;

    @TableField(exist = false)
    private List<Long> stationIdList;

    @ApiModelProperty("所有油站标识: all")
    private String isAll;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("创建人")
    private Long createUser;

    @ApiModelProperty("更新人")
    private Long updateUser;

    @TableField(exist = false)
    private Integer pageNum;
    @TableField(exist = false)
    private Integer pageSize;
    @TableField(exist = false)
    private String orderBy;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开始时间")
    @TableField(exist = false)
    private Date beginTime;
    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("结束时间")
    @TableField(exist = false)
    private Date endTime;

    @ApiModelProperty("油企id")
    private Long enterpriseId;

    @ApiModelProperty("油企名称")
    private String enterpriseName;

    @ApiModelProperty("油站名称")
    private String stationName;

    @ApiModelProperty("单位")
    private String unit;

    @ApiModelProperty("是否上架：0：上架 1：下架")
    private String isPutAway;

    @ApiModelProperty("上架数量")
    private Long putAwayNum;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("上架时间")
    private Date putAwayTime;

    @ApiModelProperty("商品条形码")
    @Excel(name = "商品条码")
    private String barCode;

    @ApiModelProperty("入库数量")
    @Excel(name = "入库数量")
    private Long inventoryQuantity;

    @ApiModelProperty("总价")
    private BigDecimal totalPrice;

    @ApiModelProperty("供应商id")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "供应商编码")
    @TableField(exist = false)
    private String supplierCode;

    @ApiModelProperty("税率")
    private BigDecimal taxRate;

    @ApiModelProperty("商品id,用于促销活动选择商品去重")
    @TableField(exist = false)
    private List<Long> commodityIdList;

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getCategoryCode() {
        return categoryCode;
    }

    public void setCategoryCode(String categoryCode) {
        this.categoryCode = categoryCode;
    }

    public Integer getPutawayNum() {
        return putawayNum;
    }

    public void setPutawayNum(Integer putawayNum) {
        this.putawayNum = putawayNum;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public List<Long> getStationIdList() {
        return stationIdList;
    }

    public void setStationIdList(List<Long> stationIdList) {
        this.stationIdList = stationIdList;
    }

    public String getIsAll() {
        return isAll;
    }

    public void setIsAll(String isAll) {
        this.isAll = isAll;
    }

    public Long getCommodityId() {
        return commodityId;
    }

    public void setCommodityId(Long commodityId) {
        this.commodityId = commodityId;
    }

    public String getCommodityName() {
        return commodityName;
    }

    public void setCommodityName(String commodityName) {
        this.commodityName = commodityName;
    }

    public String getCommodityCode() {
        return commodityCode;
    }

    public void setCommodityCode(String commodityCode) {
        this.commodityCode = commodityCode;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public BigDecimal getRetailPrice() {
        return retailPrice;
    }

    public void setRetailPrice(BigDecimal retailPrice) {
        this.retailPrice = retailPrice;
    }

    public BigDecimal getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(BigDecimal salePrice) {
        this.salePrice = salePrice;
    }

    public BigDecimal getDiscountPrice() {
        return discountPrice;
    }

    public void setDiscountPrice(BigDecimal discountPrice) {
        this.discountPrice = discountPrice;
    }

    public Long getInventory() {
        return inventory;
    }

    public void setInventory(Long inventory) {
        this.inventory = inventory;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public List<Long> getCategoryIds() {
        return categoryIds;
    }

    public void setCategoryIds(List<Long> categoryIds) {
        this.categoryIds = categoryIds;
    }

    public int getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(int delFlag) {
        this.delFlag = delFlag;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public String getEnterpriseName() {
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getIsPutAway() {
        return isPutAway;
    }

    public void setIsPutAway(String isPutAway) {
        this.isPutAway = isPutAway;
    }

    public Long getPutAwayNum() {
        return putAwayNum;
    }

    public void setPutAwayNum(Long putAwayNum) {
        this.putAwayNum = putAwayNum;
    }

    public Date getPutAwayTime() {
        return putAwayTime;
    }

    public void setPutAwayTime(Date putAwayTime) {
        this.putAwayTime = putAwayTime;
    }

    public String getBarCode() {
        return barCode;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public Long getInventoryQuantity() {
        return inventoryQuantity;
    }

    public void setInventoryQuantity(Long inventoryQuantity) {
        this.inventoryQuantity = inventoryQuantity;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierCode() {
        return supplierCode;
    }

    public void setSupplierCode(String supplierCode) {
        this.supplierCode = supplierCode;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public List<Long> getCommodityIdList() {
        return commodityIdList;
    }

    public void setCommodityIdList(List<Long> commodityIdList) {
        this.commodityIdList = commodityIdList;
    }
}

